package middleware

import (
	"log"
	"time"

	"github.com/gin-gonic/gin"
)

// Logging 后置处理器：记录请求处理时间和响应状态码
func Logging() gin.HandlerFunc {
	return func(c *gin.Context) {
		// 记录请求开始时间
		start := time.Now()

		// 继续处理请求
		c.Next()

		// 记录请求处理时间
		elapsed := time.Since(start)
		// 记录响应状态码
		statusCode := c.Writer.Status()

		// 记录日志
		log.Printf("请求 %s 耗时 %v, 状态码为: %d", c.Request.URL.Path, elapsed, statusCode)
	}
}
